﻿#define  _CRT_SECURE_NO_WARNINGS 1

//C语⾔把 .c 为后缀的⽂件称为源⽂件，把 .h 为后缀的⽂件称为头⽂件;
//在VS2022上运⾏代码的快捷键： Ctrl + fn + f5;
//调整字体：按住Ctrl,然后滑动鼠标的滚轮
//注释：Ctrl+K+C
//取消注释：Ctrl+K+U
//复制：Ctrl+C
//粘贴：Ctrl+V
//剪切：Ctrl+X
//复制+粘贴：Ctrl+D

#include <stdio.h>
//一、stdio.h - 标准输入输出头文件
int main()  
	//二、这个是main函数。
	//每个 C 语⾔程序不管有多少⾏代码，都是从 main 函数开始执⾏的， main 函数是程序的⼊⼝，main 函数也被叫做：主函数。
	//  main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。
	// 注意：
	// 1、main函数是程序的⼊⼝
	// 2、main函数有且仅有⼀个
	// 3、即使⼀个项⽬中有多个.c⽂件，但是只能有⼀个main函数（因为程序的⼊⼝只能有⼀个）
{
	printf("hehe\n");
    // 三、printf 是⼀个库函数
	// 写库函数的时候，是需要包含头⽂件的，⽐如： printf 函数需要包含的就是 stdio.h 这个头⽂件，
	//具体的⽅法就是：#include <stdio.h>
	//printf函数也可以⽤来打印其他类型的数据，⽐如：
	int n = 100;
	printf("%d\n", n); //printf打印整型
	printf("%c\n", 'q'); //printf打印字符
	printf("%lf\n", 3.14); //printf打印双精度浮点型
	//这⾥的 %d , %c 等是占位符，会被后边的值替换。
	//四、那什么是库函数呢？
	//为了不再重复实现常⻅的代码，让程序员提升开发效率，C语⾔标准规定了⼀组函数，这些函数再由不
	//同的编译器⼚商根据标准进⾏实现，提供给程序员使⽤。这些函数组成了⼀个函数库，被称为标准库，这些函数也被称为库函数。
	//⼀个系列的库函数⼀般会声明在同⼀个头⽂件中，所以库函数的使⽤，要包含对应的头⽂件。
    //库函数⽐较多，后期慢慢来介绍，提前了解可参考链接：https://cplusplus.com/reference/clibrary/
	//输入数据：scanf ;
	//输出数据：printf ; #include <stdio.h>
	//求字符串长度:strlen ; #include <string.h>
	// 五、关键字介绍
	//C语⾔中有⼀批保留的名字的符号，⽐如： int 、 if 、 return ，这些符号被称为保留字或者关键字。
	//• 关键字都有特殊的意义，是保留给C语⾔使⽤的
	//• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的
	//• 关键字也是不能⾃⼰创建的。
	//C语⾔的32个关键字如下：
	//auto break case char const continue default do double else enum ex
	//float for goto if int long register return short signed sizeof
	//struct switch typedef union unsigned void volatile while
	//六、字符和ASCII编码
	//在键盘上可以敲出各种字符，如：a，q，@，#等，这些符号都被称为字符，C语⾔中字符是⽤单引号括起来的，如：'a'，'b'，'@'。
	//C语⾔中的字符就遵循了 ASCII 编码的⽅式。
	//参考：https://zh.cppreference.com/w/cpp/language/ascii
	//我们不需要记住所有的ASCII码表中的数字，使⽤时查看就可以，不过我们最好能掌握⼏组特殊的数据：
	//• 字符A~Z的ASCII码值从65~90
	//• 字符a~z的ASCII码值从97~122
	//• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
	//• 数字字符0~9的ASCII码值从48~57
	//• 换⾏ \n 的ASCII值是：10
	//• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符，⽆法打印在屏幕上观察
	//七、字符串和\0
	//使⽤双引号括起来的⼀串字符就被称为字符串，如："abcdef"，就是⼀个字符串。
	//字符串的打印格式可以使⽤ % s 来指定，也可以直接打印如下
	printf("%s\n", "hello C");
	printf("hello C\n");
	//C语⾔字符串中⼀个特殊的知识，就是在字符串的末尾隐藏放着⼀个 \0 字符，这个 \0 字符是字符串的结束标志。
	char arr1[] = { 'a', 'b', 'c' };//arr1数组中存放3个字符
	char arr2[] = "abc"; //arr2数组中存放字符串
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	/*八、转义字符:顾名思义, 转变原来的意思的字符。
	 \' ：⽤于表⽰字符常量'
	 \" ：⽤于表⽰⼀个字符串内部的双引号
	 \\ ：⽤于表⽰⼀个反斜杠，防⽌它被解释为⼀个转义序列符。
	 \a ：警报，这会使得终端发出警报声或出现闪烁，或者两者同时发⽣。
	 \b ：退格键，光标回退⼀个字符，但不删除字符。
	 \f ：换⻚符，光标移到下⼀⻚。在现代系统上，这已经反映不出来了，⾏为改成类似于 \v 。
	 \n ：换⾏符。
	 \r ：回⻋符，光标移到同⼀⾏的开头。
	 \t ：制表符，光标移到下⼀个⽔平制表位，通常是下⼀个8的倍数。
	 \ddd ：d d d表⽰1~3个⼋进制的数字。 如： \130 表⽰字符X (8^2  8^1  8^0)
	 \xdd ：d d表⽰2个⼗六进制数字。 如： \x30 表⽰字符0    (16^1  16^0)  */
	return 0;
}